Historically digital computers have been designed with two fundamentally different types of memory: read-only memory (ROM) and read-write memory (called random access memory or RAM). ROM is non-volatile and includes no mechanism for altering data after it is initially stored in its cell array. This makes ROM ideally suited for unchanging operating system and application software. RAM is volatile and thus better suited for storage of data generated during operation. Millions of computers have been manufactured with ROM sufficient only to store at least a portion of its operating system and few dedicated application programs.
In recent years application programs have been developed which could very advantageously be executed from ROM. Many of these application programs require large amounts of RAM to store data, such as word processing, spreadsheet and computer-aided design to name a few. Other of these application programs, additionally or alternatively require large data bases that remain unchanged, such as spelling checkers and thesauri. Storing such programs in ROM would free more RAM for user data. Also, system operating performance would be enhanced because RAM requires reloading each time the computer is powered-up and sometimes has slower access times.
The great desirability and need to provide expanded ROM memory space in existing computers has been recognized. Intel Corporation of Santa Clara, Calif. manufactures a series of so-called Page-Addressed Erasable Programmable ROMs (EPROMs) in several cell array dimensions, such as the Model 27513 and 27011 EPROMs. These integrated circuits are manufactured in packages that are "plug compatible" with non-paged ROMs and permit expansion of a predefined address space (16K bytes, for example) to four times that amount (in the case of the Model 27513) and either times that amount (in the case of the Model 27011).
However, devices such as these have not been widely usable to expand ROM memory space because of hardware modifications that must be made to the computer in order to utilize them. Specifically these Intel EPROMs require that two or three of the binary data bus lines that previously delivered data only out from the ROM be made bidirectional to receive page select data, and the ROM be connected to the write enable line of the system control bus. When the computer desires to access a 16K memory space ("page") other than the default page, it first "writes" the page number to the EPROM over the system data bus, in the same manner as data is written to RAM.
In fact, although these devices are loosely called ROMs, they are a form of reprogrammable non-volatile RAM. Intel has recognized this by correctly characterizing these devices as having two operating modes: "Read" and "Write (Page-select)". Since heretofore at best relatively few computers have been constructed to accommodate such signals in ROM program memory, the basic problem of expanding the addressable ROM memory space remains.